x86/cpuid: Handle leaf 0x8000001c in guest_cpuid()
authorAndrew Cooper <andrew.cooper3@citrix.com>
Fri, 20 Jan 2017 13:56:10 +0000 (13:56 +0000)
committerAndrew Cooper <andrew.cooper3@citrix.com>
Wed, 25 Jan 2017 10:26:29 +0000 (10:26 +0000)
commit8cb4bae1c1aa13ddb3ba11dda3f593b1f7f0ed80
tree3ac553ac1dec6ee562dc83dead5299c2cd794615
parentc783556d71084c8111ce17304992c2e85f0e0346
x86/cpuid: Handle leaf 0x8000001c in guest_cpuid()

Leaf 0x8000001c contains LWP information.  edx contains hardware supported
features (and is clamped against the maximum), while ecx and ebx contain
various properties of the implementation.  eax is entirely dynamic, depending
on xcr0 and MSR_LWP_CFG.

The call to guest_cpuid() in svm_update_lwp_cfg() can now be replaced by
reading the data straight out of the cpuid_policy block.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
xen/arch/x86/cpuid.c
xen/arch/x86/hvm/svm/svm.c